/* ---------------- 基础状态码 --------------- */
#define OK 0         // 成功
#define ERROR -1     // 通用错误
#define ERR_PARAM -2 // 参数错误
#define ERR_INIT -3  // 未初始化
#define ERR_BUSY -4  // 资源忙

/* ---------------- 初始化/清理 --------------- */
#define ERR_WINSOCK_INIT -101 // Winsock初始化失败
#define ERR_THREAD_INIT -102  // 线程初始化失败
#define ERR_CLEANUP -103      // 清理失败

/* ----------------套接字操作 ---------------- */
#define ERR_SOCK_CREATE -201 // 创建失败
#define ERR_SOCK_BIND -202   // 绑定失败
#define ERR_SOCK_LISTEN -203 // 监听失败
#define ERR_SOCK_ACCEPT -204 // 接收连接失败
#define ERR_SOCK_TYPE -205   // 类型不支持
#define ERR_SOCK_CLOSE -206  // 关闭失败

/* ----------------地址端口 ---------------- */
#define ERR_ADDR_FORMAT -301  // 地址格式错误
#define ERR_PORT_RANGE -302   // 端口越界
#define ERR_DNS_FAIL -303     // DNS解析失败
#define ERR_ADDR_INUSE -304   // 地址已被占用
#define ERR_HOST_UNREACH -305 // 主机不可达

/* ----------------连接错误 ---------------- */
#define ERR_CONN_TIMEOUT -401 // 连接超时
#define ERR_CONN_REFUSED -402 // 连接被拒绝
#define ERR_CONN_RESET -403   // 连接被重置
#define ERR_CONN_ABORT -404   // 连接中止
#define ERR_CONN_PROTO -405   // 协议不匹配

/* ----------------数据传输 ---------------- */
#define ERR_SEND_BUF_FULL -501 // 发送缓冲区满
#define ERR_SEND_FAIL -502     // 发送失败
#define ERR_RECV_TIMEOUT -503  // 接收超时
#define ERR_CHECKSUM -504      // 校验和错误
#define ERR_MSG_TOOBIG -505    // 数据过大

/* ----------------协议错误 ---------------- */
#define ERR_HTTP_404 -601  // 资源未找到
#define ERR_SSL_INIT -602  // SSL初始化失败
#define ERR_HANDSHAKE -603 // SSL握手失败
#define ERR_PROTO_VER -604 // 协议版本不支持
#define ERR_PROTO_HDR -605 // 协议头错误

/* ----------------系统资源 ---------------- */
#define ERR_MEMORY -701   // 内存不足
#define ERR_FD_LIMIT -702 // 文件描述符耗尽
#define ERR_THREAD -703   // 线程创建失败
#define ERR_CPU_LOAD -704 // CPU过载

/* ----------------安全相关 ---------------- */
#define ERR_CERT_EXPIRE -801 // 证书过期
#define ERR_CERT_VERIFY -802 // 证书验证失败
#define ERR_AUTH_REQ -803    // 需要认证
#define ERR_CRYPTO -804      // 加密失败

/* ----------------其他错误 ---------------- */
#define ERR_UNKNOWN -999 // 未知错误
